﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NativeDataOperation.Interfaces;

namespace DDHDeepTunnel.DeepScheduling.Interfaces
{
    public interface ITable
    {
        string CreateTable(string tableName,
            List<SqlPropertyMap> properties = null);

        string DropTable(string tableName);

        string CloneTableStructure(string clonedTableName,
            string afterClonedTableName);

        string CloneTableStructureAndData(string clonedTableName,
            string afterClonedTableName);

        DataTable GetDataTableRunSql(string sqlString);

        bool TableExist(string tableName);

        string TruncateTableDatas(string tableName);

        string DeleteTableDatas(string tableName, string whereParts);

        int GetExcuteRunSql(string sqlString);
    }
}